package com.dw.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dw.model.article.dtos.user.AddArticleUserDTO;
import com.dw.model.article.entitys.ArticleInfo;
import com.dw.model.article.entitys.ArticleUser;
import com.dw.model.article.entitys.CategoryInfo;
import com.dw.model.article.entitys.LabelInfo;
import com.dw.model.article.vos.article.GetCountVO;
import com.dw.model.article.vos.article.QueryUserArticleVO;

import java.util.List;

/**
 * 文章用户关系表(ArticleUser)表服务接口
 *
 * @author makejava
 * @since 2024-10-09 20:12:53
 */
public interface ArticleUserService extends IService<ArticleUser> {

    void like(AddArticleUserDTO addArticleUserDTO);

    void star(AddArticleUserDTO addArticleUserDTO);

    void share(AddArticleUserDTO addArticleUserDTO);

    GetCountVO getArticleUserCount(Long articleId);

    QueryUserArticleVO queryUserArticle(Long articleId);

    List<ArticleInfo> queryHotArticle();

    List<LabelInfo> queryHotLabel();

    List<CategoryInfo> queryHotCategory();

    List<Long> getMyLiked(AddArticleUserDTO addArticleUserDTO);

    List<Long> getMyStar(AddArticleUserDTO addArticleUserDTO);

    List<Long> getMyShared(AddArticleUserDTO addArticleUserDTO);

}

